/*
 * ActualizarBodega.java
 *
 * Created on 25 de julio de 2007, 11:43 AM
 */

package administrador;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author  daniel1
 */
public class ActualizarVersion extends javax.swing.JFrame {
  String BDOrigen;
  String BDDestino;
  int opcionAct;
  //Conexiones:
  Conexion cOrigen;
  Conexion cDestino;
  
  //Si encero valores:
    boolean enceroVal=false;
    
  //Creo el Usuario
    Usuario user;
 
    ;
    /** Creates new form ActualizarBodega */
    public ActualizarVersion(String bdOri,String bdDes,int opAct,boolean encero,Usuario user,Conexion conexion) {
        BDOrigen=bdOri;
        BDDestino=bdDes;
        opcionAct=opAct;
        this.user=user;
        
        cDestino=conexion;
        
        initComponents();
        setVisible(true);
        setSize(623,700);
        realizoConexionesBD();
        cargoBodegas();
        enceroVal=encero;
    }
    
    public void realizoConexionesBD(){
    
    cOrigen=new Conexion(BDOrigen);
    //Establesco las Conexiones:
   //System.out.println("daniel1:admin:"+BDOrigen+":"+cOrigen.puerto+":"+cOrigen.server);
    cOrigen.conectarBase("root","root",cDestino.puerto,cDestino.server);
   
    }
    
    public void cargoBodegas(){
        //Cargos las bodegas del Origen
        ResultSet r1;
        r1=cOrigen.consultarBase("select * from bodega");
        
        ResultSet r2;
        r2=cDestino.consultarBase("select * from bodega");
        
        try {
            r1.beforeFirst();
            while(r1.next()){
                int codBodega=r1.getInt(1);
                String nomBodega=r1.getString(2);
                cb_origen.addItem(nomBodega);
                }  
            r2.beforeFirst(); 
            while(r2.next()){
                int codBodega=r2.getInt(1);
                String nomBodega=r2.getString(2);
               //System.out.println(codBodega+":"+nomBodega);
                cb_destino.addItem(nomBodega);
                }
            
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
              
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jPanel2 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        cb_origen = new javax.swing.JComboBox();
        cb_destino = new javax.swing.JComboBox();
        bt_iniciar = new javax.swing.JButton();
        jButton1 = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        jLabel4 = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        area = new javax.swing.JTextArea();
        jScrollPane2 = new javax.swing.JScrollPane();
        areaCant = new javax.swing.JTextArea();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Actualizando Bodegas"));

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel1.setText("Definiendo Bodegas");

        jLabel2.setText("Bodega Origen:");

        jLabel3.setText("Bodega Destino:");

        bt_iniciar.setText("Iniciar Proceso");
        bt_iniciar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_iniciarActionPerformed(evt);
            }
        });

        jButton1.setText("jButton1");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel1)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel3)
                        .addComponent(jLabel2)))
                .addGap(26, 26, 26)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(cb_destino, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(cb_origen, 0, 199, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jButton1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(bt_iniciar)
                .addGap(52, 52, 52))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(cb_origen, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel3)
                    .addComponent(cb_destino, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addGap(21, 21, 21)
                .addComponent(bt_iniciar, javax.swing.GroupLayout.DEFAULT_SIZE, 42, Short.MAX_VALUE)
                .addGap(19, 19, 19))
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addComponent(jButton1)
                .addContainerGap())
        );

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        jLabel4.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel4.setText("Resultados:");

        area.setColumns(20);
        area.setRows(5);
        jScrollPane1.setViewportView(area);

        areaCant.setColumns(20);
        areaCant.setRows(5);
        jScrollPane2.setViewportView(areaCant);

        jLabel5.setText("Igualando Inventarios");

        jLabel6.setText("Modificando Cantidades");

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 389, Short.MAX_VALUE)
                .addComponent(jLabel5)
                .addGap(20, 20, 20))
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel6)
                .addContainerGap(473, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 587, Short.MAX_VALUE)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 587, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(jLabel5))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 148, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
                .addComponent(jLabel6)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 310, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jPanel3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );

        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void bt_iniciarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_iniciarActionPerformed
// TODO add your handling code here:
        
   //REALIZO LA IGUALACION DEL INVENTARIO:  
   igualoInventario();
    
    }//GEN-LAST:event_bt_iniciarActionPerformed

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
   //System.out.println("Comienza la Actualizacion de Version:");
    //Cargo los CLientes a los que relacionan las Facturas:
   //System.out.println("\nLleno Clientes:");
     llenoClientes();
    //Actualizo la Tabla de Pedido y Dtl_Pedido:
    //System.out.println("\nLleno Pedidos:");
     llenoPedido();
    //Actualizo la tabla de kFactura y dtl_kfactura:
    //System.out.println("\nLleno KFacturas:");
     llenoKFactura();
    //Lleno Pago de Tarjetas de Credito
    //System.out.println("\nLleno FPAGOS:");
     llenoTarjetasDif(); 
     //Cargo Inventario:
    //System.out.println("\nLleno INVETARION:");
     llenoInventario(); 
     
}//GEN-LAST:event_jButton1ActionPerformed
    
    public void modificoBodega(String simbolo){
    //Si el producto existe?
        //Actualizo
    //No existe?
        //Creo
    //Saco Bodegas:
    
    int bodegaO=cb_origen.getSelectedIndex()+1;
    int bodegaD=cb_destino.getSelectedIndex()+1;
    
    ordenoBodOrigen(bodegaO);
    
    ResultSet rOrigen=cOrigen.consultarBase("select * from itm_bodega where cod_bodega="+bodegaO);
    areaCant.append("\nLa bodega origen tiene el codigo:"+bodegaO);
    //area.append(cOrigen.verResultados(rOrigen)+"\n");
    ResultSet rDestino=cDestino.consultarBase("select * from itm_bodega where cod_bodega="+bodegaD);
    areaCant.append("\nLa bodega destino tiene el codigo:"+bodegaD);    
    //area.append(cDestino.verResultados(rDestino)+"\n");
    
    areaCant.append("\n"+"Actualizo Productos de las Bodegas "+"\n");
    try{
        rOrigen.beforeFirst();
        while(rOrigen.next()){
                int codigoBod=rOrigen.getInt(1);    
                String codigoPro=rOrigen.getString(2);
                int cantidad=rOrigen.getInt(3);
                double cantMin=rOrigen.getDouble(4);
                
                //areaCant.append("\n Consulta::"+"select *  from itm_bodega  where cod_producto  like '"+codigoPro+"' and cod_bodega="+bodegaD);
                ResultSet rConsult=cDestino.consultarBase("select *  from itm_bodega  where cod_producto  like '"+codigoPro+"' and cod_bodega="+bodegaD);
                if(cDestino.obtenerFilas(rConsult)>0){
                //areaCant.append(" Si existe ");
               //Le Modifico la cantidad a la Existente:
                
                if(cDestino.actualizarBaseResp("update itm_bodega set cantidad="+simbolo+cantidad+" where cod_producto  like '"+codigoPro+"' and cod_bodega="+bodegaD)){
                //    areaCant.append("\nAcualiza: CodProducto:"+codigoPro+"\t"+"a cantidad="+simbolo+cantidad);    
                //    areaCant.append("Actualizacion Exitosa.");
                    }else{
    //                areaCant.append("\nAcualiza: CodProducto:"+codigoPro+"\t"+"a cantidad="+simbolo+cantidad);
    //                areaCant.append("=> Actualizacion Fallida.");
                    }
                    
                    
                 }else
                {
      //          areaCant.append("\n"+"No existe ");
      //          areaCant.append(" => Creo el Item del Producto en la Bodega:"+codigoPro+" con cant=0 ");
                
                cDestino.insertarDatos("Insert into itm_bodega values ("+bodegaD+",'"+codigoPro+"',0,"+cantMin+")");
                rOrigen.previous();
                 }
                 System.gc();  
            }
        }catch(SQLException sqle){
           //System.out.println("Error al mostrar los resultados de la consulta");
            System.err.println(sqle);
        }
    
        
        
        
    
    }
    
    public void ordenoBodOrigen(int bodegaOrigen){
       //System.out.println("COMIENZO LA LIMPIEZA DE BODEGA");
        int contador=0;
        //Limpio Errores en ITM_BODEGA ORIGEN:
        ResultSet respuesta=cOrigen.consultarBase("SELECT * FROM itm_bodega where cod_bodega="+bodegaOrigen);
        try {
            respuesta.beforeFirst();
            while(respuesta.next()){
            String codigoPro=respuesta.getString(2);
            cOrigen.actualizarBase("delete FROM itm_bodega where (SELECT count(*) FROM producto where cod_producto like '"+codigoPro+"')<1 and cod_producto like '"+codigoPro+"';");
            contador++;
            }
        } catch (SQLException ex) {
            Logger.getLogger(ActualizarVersion.class.getName()).log(Level.SEVERE, null, ex);
        }
        area.setText("se han borrado="+contador+" itm sin productos");
        //System.out.println("se han borrado="+contador+" itm sin productos");
    
    }
    
    
    public void igualoInventario(){
    area.setText("");
    area.append("   PROCESO DE IGUALACION DE INVENTARIO  "+"\n"+"\n");
   //System.out.println("  PROCESO DE IGUALACION DE INVENTARIO  "+"\n"+"\n");
    area.append("IGUALANDO CATEGORIAS:  "+"\n");
    ResultSet rOrigen=cOrigen.consultarBase("select * from categoria");
    area.append(cOrigen.verResultados(rOrigen)+"\n");
    ResultSet rDestino=cDestino.consultarBase("select * from categoria");
    area.append(cDestino.verResultados(rDestino)+"\n");
    
   //System.out.println("  IGUALO CATEGORIAS:  "+"\n"+"\n");
    int contador=0;
    ResultSet rConsult;
    try{
        rOrigen.beforeFirst();
        while(rOrigen.next()){
                int codigo=rOrigen.getInt(1);
                String nombre=rOrigen.getString(2);
                rConsult=cDestino.consultarBase("select * from categoria where nombre like '"+nombre+"'");
                int filas=cDestino.obtenerFilas(rConsult);
                if(filas>0){
                   //System.out.println("Si existeee:"+filas);
                    //cDestino.actualizarBase("update categoria set cod_categoria="+codigo+" where nombre like '"+nombre+"'");
        //            area.append("\n"+"Si existe esta categoria: "+nombre);
                }else
                {
          //          area.append("\n"+"No existe esta categoria: "+nombre);
           //         area.append(" => Creo la categoria:");
                    rConsult=cDestino.consultarBase("select * from categoria");
                    int nuevafila=cDestino.obtenerFilas(rConsult)+1;
                    cDestino.insertarDatos("Insert into categoria values ("+nuevafila+",'"+nombre+"')");
                    contador++;
                }
                    
            }
       //System.out.println(" Se insertaron "+contador+" Categorias;");
        area.append(" Se insertaron "+contador+" Categorias;");
        }catch(SQLException sqle){
           //System.out.println("Error al mostrar los resultados de la consulta");
            System.err.println(sqle);
        }
    
    
    //area.append("\n"+"\n"+"IGUALANDO PRODUCTOS:  "+"\n");
    rOrigen=cOrigen.consultarBase("SELECT * FROM producto p,itm_bodega i where p.cod_producto=i.cod_producto;");
    //area.append(cOrigen.verResultados(rOrigen)+"\n");
    rDestino=cDestino.consultarBase("select * from producto");
    //area.append(cDestino.verResultados(rDestino)+"\n");
    
   //System.out.println("IGUALO PRODUCTOS");
    contador=0;
    try{
        rOrigen.beforeFirst();
        while(rOrigen.next()){
                String codigo=rOrigen.getString(1);
                int codigoCat=rOrigen.getInt(2);
                String nombre=rOrigen.getString(3);
                String descripcion=rOrigen.getString(4);
                int cantidad=rOrigen.getInt(5);
                double precioNormal=rOrigen.getDouble(6);
                int rank=rOrigen.getInt(7);
                double preciocosto=rOrigen.getDouble(8);
                
                //Campos de ITM BODEGA:
                int cod_bodega=rOrigen.getInt(9);
                String cod_producto=rOrigen.getString(10);
                int cant=rOrigen.getInt(11);
                int cantMin=rOrigen.getInt(12);
                
                
                //Datos Extras de la nueva Base:
                String fecha_Crea="";
                double precio_distr=0;
                
         //       area.append("\n"+"No existe esta Producto: "+codigo);
         //       area.append(" => Creo la Producto:");
                
                
                String fecha=new java.sql.Date(System.currentTimeMillis()).toString();
                cDestino.insertarDatos("Insert into producto values ('"+codigo+"',"+codigoCat+",'"+nombre+"','"+descripcion+"',"+cantidad+","+precioNormal+","+rank+","+preciocosto+",'"+fecha+"',"+precio_distr+")");
                cDestino.insertarDatos("Insert into itm_bodega values ("+cod_bodega+",'"+cod_producto+"',"+cant+","+cantMin+")");
                contador++;
                    
            }
        
        }catch(SQLException sqle){
           //System.out.println("Error al mostrar los resultados de la consulta");
            System.err.println(sqle);
        }
    
   //System.out.println("Se han Ingresado Exitosamente "+contador+" Productos");
    area.append("Se han Ingresado Exitosamente "+contador+" Productos");
    }
    
    public void llenoClientes(){
    try {
        //Lleno la tabla de Pedidos:
        ResultSet respuesta=cOrigen.consultarBase("select * from cliente");
        int contador=0;
        
        respuesta.beforeFirst();
        while(respuesta.next()){
            
        String codigo=respuesta.getString(1);
        String clave=respuesta.getString(2);
        String nombre=respuesta.getString(3);
        String apellido=respuesta.getString(4);
        String sexo=respuesta.getString(5);
        String e_civil=respuesta.getString(6);
        String actividad=respuesta.getString(7);
        String direccion=respuesta.getString(8);
        String telefono=respuesta.getString(9);
        String celular=respuesta.getString(10);
        String email=respuesta.getString(11);
        String pais_cli=respuesta.getString(12);
        String prov_cli=respuesta.getString(13);
        String ciudad_cli=respuesta.getString(14);
        String sector=respuesta.getString(15);
        Date fecha_nac=respuesta.getDate(16);
        Date fecha_act=respuesta.getDate(17);
        boolean membresia=respuesta.getBoolean(18);
        
        
        ResultSet resp=cDestino.consultarBase("select * from cliente where cod_cliente="+codigo);
        int filas=cDestino.obtenerFilas(resp);
        
        
        if(filas>0){
            //Este cliente ya existe: (No le creo)
            
        }
            //Inserto los Clientes:
            cDestino.insertarDatos("Insert into cliente values ('"+codigo+"','"+clave+"','"+nombre+"','"+apellido+"','"+sexo+"','"+e_civil+"','"+actividad+"','"+direccion+"','"+telefono+"','"+celular+"','"+email+"','"+pais_cli+"','"+prov_cli+"','"+ciudad_cli+"','"+sector+"','"+fecha_nac+"','"+fecha_act+"',"+membresia+",0,false)");
            contador++;
        }
        
       //System.out.println("Se han ingresado "+String.valueOf(contador)+" Clientes Exitosamente");
        area.append("Se han ingresado "+String.valueOf(contador)+" Clientes Exitosamente");
     } catch (SQLException ex) {Logger.getLogger(ActualizarVersion.class.getName()).log(Level.SEVERE, null, ex);
     }
    }
    
    
    
    
    public void llenoPedido(){
    int contador=0;    
        
    try {
        
        //Lleno la tabla de Pedidos:
        ResultSet respuesta=cOrigen.consultarBase("select * from pedido");
        
        respuesta.beforeFirst();
        while(respuesta.next()){
        
            int codigo_pe=respuesta.getInt(1);
            String codigo_cli=respuesta.getString(2);
            String direccion=respuesta.getString(3);
            Date fecha=respuesta.getDate(4);
            String ciudad=respuesta.getString(5);
            String pais=respuesta.getString(6);
            String prov=respuesta.getString(7);
            String telf=respuesta.getString(8);
            String vend=respuesta.getString(9);
            double total_pag=respuesta.getDouble(10);
            
            //Inserto los pedidos:
            cDestino.insertarDatos("Insert into pedido values ("+codigo_pe+",'"+codigo_cli+"','"+direccion+"','"+fecha+"','"+ciudad+"','"+pais+"','"+prov+"','"+telf+"','"+vend+"',"+total_pag+","+0+","+0+","+total_pag+",'A',null,'','F',1,1,0)");
            contador++;
            
        }
       //System.out.println("Ingreso Exitosamente "+contador+" Pedidos");
        area.append("Ingreso Exitosamente "+contador+" Pedidos");
        contador=0;
        //Lleno la tabla de DTL PEDIDO:
        respuesta=cOrigen.consultarBase("select * from dtl_pedido");
        
        respuesta.beforeFirst();
        while(respuesta.next()){
           int cod_pedido=respuesta.getInt(1);
           String cod_producto=respuesta.getString(2);
           int cantidad=respuesta.getInt(3);
           double subtotal=respuesta.getDouble(4);
           
           //inserto en la tabla dtl_pedido:
           cDestino.insertarDatos("Insert into dtl_pedido values ("+cod_pedido+",'"+cod_producto+"',"+cantidad+","+subtotal+",'F')");
           contador++;
        }
        
       //System.out.println("Ingreso Exitosamente "+contador+" DTL_Pedidos");
        area.append("Ingreso Exitosamente "+contador+" DTL_Pedidos");
     } catch (SQLException ex) {Logger.getLogger(ActualizarVersion.class.getName()).log(Level.SEVERE, null, ex);
     }
    }
    
    
    public void llenoKFactura(){
    try {
        int contador=0;
        //Lleno la tabla de Kfactura:
        ResultSet respuesta=cOrigen.consultarBase("select * from kfactura");
        
        //Lleno proveedor Generico
        cDestino.insertarDatos("Insert into cliente values ('500','','Proveedor','','','','','','','','','','','','',null,null,false,0,false)");
            
        
        respuesta.beforeFirst();
        while(respuesta.next()){
        
            int codigo_ka=respuesta.getInt(1);
            Date fecha=respuesta.getDate(2);
            String codigo_prov=respuesta.getString(3);
            String razon=respuesta.getString(4);
            String bodega=respuesta.getString(5);
            String responzable=respuesta.getString(6);
            boolean entrada_sal=respuesta.getBoolean(7);
            String usuario=respuesta.getString(8);
            double total_pag=respuesta.getDouble(9);
            
           
           String tipoDoc="";
           if(entrada_sal){
           tipoDoc="E";
           }else{
           tipoDoc="S";
           }
           
            
            //Inserto los pedidos:
            cDestino.insertarDatos("Insert into kfactura values ("+codigo_ka+",'500','"+razon+"traido desde:"+codigo_prov+"','"+fecha+"','','','','','"+responzable+"',"+total_pag+","+0+","+0+","+total_pag+",'A',null,'','"+tipoDoc+"',1,1,0)");
            contador++;
            
        }
        
       //System.out.println("Ingreso Exitosamente "+contador+" KFacturas");
        area.append("Ingreso Exitosamente "+contador+" KFacturas");
        contador=0;
        
        //Lleno la tabla de DTL KFATCURA:
        respuesta=cOrigen.consultarBase("select d.*,k.entrada_sal from dtl_kfactura d,kfactura k where d.cod_kfactura=k.cod_kfactura;");
        
        respuesta.beforeFirst();
        while(respuesta.next()){
           int cod_kfactura=respuesta.getInt(1);
           String cod_producto=respuesta.getString(2);
           String nombre_pro=respuesta.getString(3);
           int cantidad=respuesta.getInt(4);
           double precio=respuesta.getDouble(5);
           double subtotal=respuesta.getDouble(6);
           boolean tipo=respuesta.getBoolean(7);
           String tipoDoc="";
           if(tipo){
           tipoDoc="E";
           }else{
           tipoDoc="S";
           }
           
           
           //inserto en la tabla dtl_pedido:
           cDestino.insertarDatos("Insert into dtl_kfactura values ("+cod_kfactura+",'"+cod_producto+"',"+cantidad+","+subtotal+",0,'"+tipoDoc+"',"+precio+",'"+nombre_pro+"')");
           contador++;
        }
        
       //System.out.println("Ingreso Exitosamente "+contador+" DTL_KFATURAS");
        area.append("Ingreso Exitosamente "+contador+" DTL_KFATURAS");
        
     } catch (SQLException ex) {Logger.getLogger(ActualizarVersion.class.getName()).log(Level.SEVERE, null, ex);
     }
    }
    
    
    public void llenoInventario(){
        int contador=0;
    try {
        //Lleno la tabla de Kfactura:
        ResultSet respuesta=cOrigen.consultarBase("select * from inventario");
        respuesta.beforeFirst();
        while(respuesta.next()){
        int codigo=respuesta.getInt(1);
        String fecha=respuesta.getString(2);
        String descripcion=respuesta.getString(3);
        String empleado=respuesta.getString(4);
        String responzable=respuesta.getString(5);
        boolean abierto=respuesta.getBoolean(6);
            
            
        //inserto en la tabla Inventario:
           cDestino.insertarDatos("Insert into inventario values ("+codigo+",'"+fecha+"','"+descripcion+"','"+empleado+"','"+responzable+"',"+abierto+")");
           contador++;
        }
       //System.out.println("Ingreso Exitosamente "+contador+" INVETARIOS");
        area.append("Ingreso Exitosamente "+contador+" INVETARIOS");
        contador++;
        
        //Ingreso de Productos de Inventarios:
        respuesta=cOrigen.consultarBase("select * from productoinv");
        respuesta.beforeFirst();
        while(respuesta.next()){
        
        int codigo=respuesta.getInt(1);
        String cod_producto=respuesta.getString(2);
        String cod_categoria=respuesta.getString(3);
        String nombre=respuesta.getString(4);
        String descripcion=respuesta.getString(5);
        String precio_costo=respuesta.getString(6);
        String precio_venta=respuesta.getString(7);
        int cantidad_act=respuesta.getInt(8);
        int cantidad_cont=respuesta.getInt(9);
        
           
        //inserto en la tabla Inventario:
         cDestino.insertarDatos("Insert into productoinv values ("+codigo+",'"+cod_producto+"','"+cod_categoria+"','"+nombre+"','"+descripcion+"',"+precio_costo+","+precio_venta+","+cantidad_act+","+cantidad_cont+",0)");
        contador++;
        }
        
       //System.out.println("Ingreso Exitosamente "+contador+" Productos de INVENTARIOS");
        area.append("Ingreso Exitosamente "+contador+" Productos de INVENTARIOS");
        
        
    } catch (SQLException ex) {Logger.getLogger(ActualizarVersion.class.getName()).log(Level.SEVERE, null, ex);
    }
    }
    
    public void llenoTarjetasDif(){
        int contador=0;
    try{
        
        //Lleno la tabla de FPAgo:
        ResultSet respuesta=cOrigen.consultarBase("select * from fpago");
        respuesta.beforeFirst();
        while(respuesta.next()){
            
        int codigo=respuesta.getInt(1);
        int cod_pedido=respuesta.getInt(2);
        boolean tipo=respuesta.getBoolean(3);
        String plazo=respuesta.getString(4);
        boolean interes=respuesta.getBoolean(5);
        String tarjeta=respuesta.getString(6);
        boolean cancelado=respuesta.getBoolean(7);
        
        
        
        //inserto en la tabla Tarjetas Diferido:
         cDestino.insertarDatos("Insert into fpago values ("+codigo+","+cod_pedido+","+tipo+",'"+plazo+"',"+interes+",'"+tarjeta+"',"+cancelado+",'F')");
        contador++;
        }
       //System.out.println("Ingreso Exitosamente "+contador+" Pagos con TARJETAS CREDITO");
        area.append("Ingreso Exitosamente "+contador+" Pagos con TARJETAS CREDITO");
        } catch (SQLException ex) {Logger.getLogger(ActualizarVersion.class.getName()).log(Level.SEVERE, null, ex);
    }
        
    }
    
    
    /**
     * @param args the command line arguments
     */
   
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextArea area;
    private javax.swing.JTextArea areaCant;
    private javax.swing.JButton bt_iniciar;
    private javax.swing.JComboBox cb_destino;
    private javax.swing.JComboBox cb_origen;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    // End of variables declaration//GEN-END:variables
    
}
